import pandas as pd
import numpy as np
import plotly.express as px
import plotly.graph_objects as go
import os
df = pd.read_csv('final.csv')
df.head()
| Unnamed: 0 | 날짜 | score | 거래회전율 | 환율 | fg_score | |
|---|---|---|---|---|---|---|
| 0 | 0 | 2022-06-01 | 38.918779 | NaN | NaN | 38.918779 |
| 1 | 1 | 2022-06-02 | 28.718668 | 19.924295 | 43.600000 | 30.747654 |
| 2 | 2 | 2022-06-03 | 32.634572 | 0.000000 | 41.466667 | 24.700413 |
| 3 | 3 | 2022-06-04 | 40.270144 | NaN | NaN | 40.270144 |
| 4 | 4 | 2022-06-05 | 37.634442 | NaN | NaN | 37.634442 |
fig = px.line(df, x='날짜', y='fg_score')
fig
fig = go.Figure()
date = df['날짜'].values
score = df['score'].values
fg_score = df['fg_score'].values
volume = df['거래회전율'].values
exchange = df['환율'].values
fig.add_trace(go.Scatter(x=date, y=fg_score, mode="lines", name="fg_score"))
fig.add_trace(go.Scatter(x=date, y=score, mode="lines", name="score"))
fig.add_trace(go.Scatter(x=date, y=volume, mode="lines", name="volume"))
fig.add_trace(go.Scatter(x=date, y=exchange, mode="lines", name="exchange"))
ktop30 = pd.read_csv('ktop30.csv', encoding='euc-kr')
ktop30.head()
| 날짜 | 종가 | 전일비 | 등락률(%) | 시가 | 고가 | 저가 | 거래량 | |
|---|---|---|---|---|---|---|---|---|
| 0 | 2022-06-30 | 16,075 | -320 | -1.95 | 16,225 | 16,265 | 16,075 | 274 |
| 1 | 2022-06-29 | 16,395 | -85 | -0.52 | 16,485 | 16,485 | 16,395 | 121 |
| 2 | 2022-06-28 | 16,480 | -15 | -0.09 | 16,595 | 16,595 | 16,480 | 44 |
| 3 | 2022-06-27 | 16,495 | 280 | 1.73 | 16,430 | 16,610 | 16,380 | 245 |
| 4 | 2022-06-24 | 16,215 | 225 | 1.41 | 16,045 | 16,290 | 16,045 | 151 |
fig1 = go.Figure()
date1 = ktop30['날짜'].values
end = ktop30['종가'].values
volume1 = ktop30['거래량'].values
fig1.add_trace(go.Scatter(x=date, y=fg_score, mode="lines", name="fg_score"))
fig1.add_trace(go.Scatter(x=date1, y=end, mode="lines", name="end price"))
fig1.add_trace(go.Scatter(x=date1, y=volume1, mode="lines", name="volume1"))
fig2 = go.Figure()
end1 = [int(e.replace(',', '')) / 550 for e in end]
fig2.add_trace(go.Scatter(x=date, y=fg_score, mode="lines", name="fg_score"))
fig2.add_trace(go.Scatter(x=date1, y=end1, mode="lines", name="end price"))
fig3 = go.Figure()
volume2 = np.log([int(v.replace(',', '')) for v in volume1]) * 5
fig3.add_trace(go.Scatter(x=date, y=fg_score, mode="lines", name="fg_score"))
fig3.add_trace(go.Scatter(x=date1, y=volume2, mode="lines", name="volume2"))
samsung = pd.read_csv('samsung.csv')
samsung.head()
| 날짜 | 종가 | 전일비 | 등락률(%) | 시가 | 고가 | 저가 | 거래량 | |
|---|---|---|---|---|---|---|---|---|
| 0 | 2022-06-30 | 52,000 | - 1,400 | -2.62 | 52,700 | 53,100 | 52,000 | 1,261,863 |
| 1 | 2022-06-29 | 53,400 | - 1,300 | -2.38 | 54,000 | 54,600 | 53,400 | 1,012,764 |
| 2 | 2022-06-28 | 54,700 | + 200 | 0.37 | 54,500 | 55,000 | 54,400 | 1,074,637 |
| 3 | 2022-06-27 | 54,500 | + 1,100 | 2.06 | 53,900 | 54,900 | 53,700 | 1,232,570 |
| 4 | 2022-06-24 | 53,400 | + 1,300 | 2.50 | 52,200 | 53,600 | 52,200 | 1,092,956 |
fig4 = go.Figure()
date2 = samsung['날짜'].values
end_s = samsung['종가'].values
volume_s = samsung['거래량'].values
fig4.add_trace(go.Scatter(x=date, y=fg_score, mode="lines", name="fg_score"))
fig4.add_trace(go.Scatter(x=date2, y=end_s, mode="lines", name="end_s"))
fig4.add_trace(go.Scatter(x=date2, y=volume_s, mode="lines", name="volume_s"))
fig5 = go.Figure()
end_s1 = [int(e.replace(',', '')) / 1800 for e in end_s]
fig5.add_trace(go.Scatter(x=date, y=fg_score, mode="lines", name="fg_score"))
fig5.add_trace(go.Scatter(x=date2, y=end_s1, mode="lines", name="end_s1"))
fig6 = go.Figure()
volume_s1 = np.log([int(v.replace(',', '')) for v in volume_s]) * 2.5
fig6.add_trace(go.Scatter(x=date, y=fg_score, mode="lines", name="fg_score"))
fig6.add_trace(go.Scatter(x=date1, y=volume_s1, mode="lines", name="volume_s1"))
vix = pd.read_csv('VIX.csv')
vix.head()
| Date | Open | High | Low | Close | Adj Close | Volume | |
|---|---|---|---|---|---|---|---|
| 0 | 2022-06-01 | 26.049999 | 27.730000 | 25.379999 | 25.690001 | 25.690001 | 0 |
| 1 | 2022-06-02 | 25.730000 | 26.500000 | 24.330000 | 24.719999 | 24.719999 | 0 |
| 2 | 2022-06-03 | 24.910000 | 25.959999 | 24.760000 | 24.790001 | 24.790001 | 0 |
| 3 | 2022-06-06 | 25.370001 | 25.809999 | 24.820000 | 25.070000 | 25.070000 | 0 |
| 4 | 2022-06-07 | 25.540001 | 26.240000 | 23.879999 | 24.020000 | 24.020000 | 0 |
fig7 = go.Figure()
date3 = vix['Date'].values
end_v = vix['Close'].values
fig7.add_trace(go.Scatter(x=date, y=fg_score, mode="lines", name="fg_score"))
fig7.add_trace(go.Scatter(x=date3, y=end_v, mode="lines", name="end_v"))
vkospi = pd.read_csv('VKOSPI.csv')
vkospi.head()
| 날짜 | 종가 | 오픈 | 고가 | 저가 | 거래량 | 변동 | |
|---|---|---|---|---|---|---|---|
| 0 | 2022-06-02 | 17.60 | 17.88 | 17.92 | 17.60 | - | 1.97% |
| 1 | 2022-06-03 | 16.87 | 16.97 | 17.26 | 16.81 | - | -4.15% |
| 2 | 2022-06-07 | 18.10 | 17.92 | 18.33 | 17.62 | - | 7.29% |
| 3 | 2022-06-08 | 17.10 | 17.71 | 17.84 | 17.10 | - | -5.52% |
| 4 | 2022-06-09 | 17.00 | 17.31 | 17.47 | 16.81 | - | -0.58% |
fig8 = go.Figure()
date4 = vkospi['날짜'].values
end_k = vkospi['종가'].values
volatility = [float(v[:-1]) for v in vkospi['변동'].values]
fig8.add_trace(go.Scatter(x=date, y=fg_score, mode="lines", name="fg_score"))
fig8.add_trace(go.Scatter(x=date4, y=end_k, mode="lines", name="end_k"))
fig8.add_trace(go.Scatter(x=date4, y=volatility, mode="lines", name="volatility"))